package com.xaicode.auth.entity;

import com.xaicode.auth.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 操作日志
 *
 * @date 2024/12/6
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_oper_log")
public class SysOperLog extends BaseEntity {

    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 操作模块
     */
    private String title;

    /**
     * 业务类型
     */
    private Integer businessType;

    /**
     * 执行方法
     */
    private String method;

    /**
     * Http请求方式
     */
    private String reqMethod;

    /**
     * 操作人名称
     */
    private String operName;

    /**
     * 操作人部门
     */
    private String deptName;

    /**
     * 请求URL
     */
    private String reqUrl;

    /**
     * 请求IP
     */
    private String reqIp;

    /**
     * 请求地域
     */
    private String reqRegion;

    /**
     * 请求参数
     */
    private String reqParams;

    /**
     * 响应结果
     */
    private String respResult;

    /**
     * 浏览器
     */
    private String browser;

    /**
     * 操作系统
     */
    private String os;

    /**
     * 操作状态
     *
     * @see com.xaicode.auth.constant.DataConst#OK
     * @see com.xaicode.auth.constant.DataConst#FAIL
     */
    private Integer status;

    /**
     * 错误消息
     */
    private String errorMsg;

    /**
     * 异常堆栈
     */
    private String errorStack;

    /**
     * 执行时长 ms
     */
    private Long execTime;

}
